package com.zhangtai.modules.vo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import com.zhangtai.modules.entity.contract.ProtocolPersonnelEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;


/**
 * 培训协议
 *
 */
@Data
public class ProtocolVo implements Serializable {
	private static final long serialVersionUID = 1L;

			/**
		 * 协议id
		 */
				@TableId
		@JsonDeserialize(using = LongJsonDeserializer.class)
		@JsonSerialize(using = LongJsonSerializer.class)
				@ApiModelProperty(value="id",required = false)
			private Long id;
			/**
		 * 甲方主体
		 */
			@ApiModelProperty(value="甲方主体",required = false)
			private String company;
			/**
		 * 甲方主体id
		 */
			@ApiModelProperty(value="甲方主体id",required = false)
			private Long companyId;
			/**
		 * 项目名称
		 */
			@ApiModelProperty(value="项目名称",required = false)
			private String projectName;
			/**
		 * 培训机构
		 */
			@ApiModelProperty(value="培训机构",required = false)
			private String trainingStructure;
			/**
		 * 培训开始时间
		 */
			@ApiModelProperty(value="培训开始时间",required = false)
			private Date trainingStartTime;
			/**
		 * 培训结束时间
		 */
			@ApiModelProperty(value="培训结束时间",required = false)
			private Date trainingEndTime;
			/**
		 * 培训方式   0 全脱产  1  半脱产  2 不脱产
		 */
			@ApiModelProperty(value="培训方式   0 全脱产  1  半脱产  2 不脱产",required = false)
			private Integer trainingMethod;
			/**
		 * 培训地点
		 */
			@ApiModelProperty(value="培训地点",required = false)
			private String trainingLocation;
			/**
		 * 签订合同日期
		 */
			@ApiModelProperty(value="签订合同日期",required = false)
			private Date signedTime;
			/**
		 * 培训类型
		 */
			@ApiModelProperty(value="培训类型",required = false)
			private Integer trainingType;
			/**
		 * 培训人数
		 */
			@ApiModelProperty(value="培训人数",required = false)
			private Integer trainingNum;
			/**
		 * 状态  0 未发起  1签订中 2 已签订
		 */
			@ApiModelProperty(value=" 状态  0 未发起  1签订中 2 已签订",required = false)
			private Integer status;
			/**
		 * 创建时间
		 */
			@ApiModelProperty(value="创建时间",required = false)
			private Date createTime;
			/**
		 * 0:未删除，1：已删除
		 */
			@ApiModelProperty(value="0:未删除，1：已删除",required = false)
			private Integer isDelete;
			/**
		 * 创建人
		 */
			@ApiModelProperty(value="创建人",required = false)
			private String createName;
			/**
		 * 创建人 code
		 */
			@ApiModelProperty(value="创建人 code",required = false)
			private String createCode;
			/**
		 * 培训模板
		 */
			@ApiModelProperty(value="培训模板",required = false)
			private Long template;

	/**
	 * 培训员工
	 */
	@ApiModelProperty(value="培训员工",required = false)
			private ArrayList<ProtocolPersonnelEntity> protocolPersonnelEntityArrayList=new ArrayList<>();
	
}
